1. Field of the Invention
This invention relates to the testing for short circuits in fusible link arrays which are used in Programmable Read Only Memories (PROM) and Programmable Array Logic, and the like.
2. Description of the Prior Art
In a typical array employing fusible links, a bit of information is represented by a fusible link, also called a "fuse". The presence or absence of a fuse determines the logical state of a bit. The device is manufactured with all fuses intact; that is, all bits are originally in one logical state. The user of the device can then choose the state of a bit by either leaving the fuse intact, or blowing the fuse (programming the bit) to create an open circuit (i.e. an absent fuse). Ideally, all devices as manufactured will have all their fuses intact before being packaged and sold, and when sold, every fuse the user wants to blow will indeed blow. In reality, this is not the case, and some devices will have fuses missing and others will have fuses that won't blow.
A missing fuse in an array is easy to detect, and is caught before the device is packaged, such as by checking the logical state on the output pin of the device. The logical state for a missing fuse will be opposite to that for an intact fuse. The device can be tested for any missing fuses at the wafer sorting level of the manufacturing process.
A typical fusible link array includes a rectangular array of transistors and associated fuses connected between word lines and bit lines. Prior to programming, each memory cell which includes the transistor and its associated fuse stores a logical 0, i.e. the fuse is not open. A leaky base emitter junction of an NPN transistor or a short between a bit line and a word line may result in a fuse which fails to open when a programming current is attempted to be applied to the fuse. A typical titanium-tungsten (TiW) fuse used in many arrays requires approximately 3 volts across the fuse in order to produce the approximately 50 milliampere (mA) current required to open the fuse. During normal operation (i.e., reading) of the array, the maximum supply voltage is approximately 5.5 volts, and there is not enough voltage across the fuse to cause 50 mA of current required to open the fuse.
Accordingly, one of the steps of the programming procedure is to raise the supply voltage to approximately 12 volts, well above the levels used during reading the array. A memory cell to be programmed containing the array transistor is selected by selecting the proper word line and bit line. The selected word line and thus the base of the selected transistor is at approximately 8 volts, a voltage level determined by internal clamping circuitry. The remaining deselected word lines are at approximately 1 volt. The base emitter voltage of the selected array transistor at a base emitter current of 50 mA is approximately 1.5 volts. So the emitter of the array transistor which is connected to one end of its associated fuse is at a voltage of approximately 8 volts-1.5 volts=6.5 volts. The programming circuit holds the voltage on the selected bit line on the other end of the fuse at approximately 1.5 volts if the fuse is to open to store a logical one. Therefore, the voltage across the fuse is approximately 6.5 volts-1.5 volts=5.0 volts which will cause a current flow greater than 50 mA and thus cause the fuse to open, thereby storing a logical 1.
Conversely, if the fuse is not to be opened and the cell is to store a logical zero, the bit line is held at approximately 7 volts, so that the voltage drop across the fuse is insufficient to cause a current which will cause the fuse to open.
When a fuse is intact but refuses to blow, it is for one of several reasons. The fuse itself may be fatter or thicker than a normal fuse and therefore requires more power to blow; more power indeed than the programmer can provide. It, therefore, remains intact when an attempt to program it is made. Also, metal can short out the fuse. For example, a small piece of metal can short from the emitter of the array transistor to the bit line. Metal can also short from the word line to the bit line. In both cases, the metal will not blow as a fuse will. The metal requires a great deal more power to melt and break down than the fuse material, and it prevents the fuse from blowing by providing an alternate path for the programming current. The fuse, therefor remains intact. These are examples of what is defined collectively as a "fuse short".
In summary, a missing fuse can be found during manufacture by detecting the wrong logical state at the output pin of the device. However, a fuse short will show the correct logical state on the output until an attempt is made to program it, at which time the output pin will still show the logical state of an intact fuse indicating that the fuse has failed to blow. The problem is that the device has been packaged and sold to the user before the fuse short is discovered, costing the manufacturer money, time and reputation. The present invention will prevent this from occurring.